package com.indextank.roo.addon;

import org.springframework.roo.model.JavaType;


/**
 * Interface of commands that are available via the Roo shell.
 *
 * @since 1.1.1
 */
public interface IndextankOperations {

    public boolean isInstallSearchAvailable();

    public boolean isSearchAvailable();

    /**
     * Sets up Indextank configuration.
     *
     * @param apiUrl: An Indextank API URL. Required, not null.
     * @param indexName: Required, not null.
     */
    public void setupConfig(String apiUrl, String indexName);


    /**
     * Makes javatype searchable via indextank.
     * 
     * @param javatype: The model to make searchable. Required, not null. 
     */
    public void addSearch(JavaType javatype);


    /**
     * Makes all models searchable via indextank.
     */
    public void addAll();
}
